package com.wulian.common.util;

import org.apache.commons.lang3.StringUtils;

import java.util.Arrays;

public class UploadValidateUtil {
	private static final String FILE_TYPE = "doc,dot,docx,dotx,docm,dotm,xls,xlt,xla,xlsx,xltx,xlsm,xltm,xlam,xlsb,xml,ppt,pot,pps,ppa,pptx,potx,ppsx,ppam,pptm,potm,ppsm,bmp,jpg,jpeg,png,gif,txt,zip,rar,7z,pdf";
	/**
	 * 
	* @Title: checkFileSize 
	* @Description: TODO(判断文件大小) 
	* @param @param len
	* @param @param size
	* @param @param unit
	* @param @return    设定文件 
	* @return Boolean    返回类型 
	* @throws 
	* @author 马志豪
	* @date 2019年10月31日 下午4:24:22 
	* @version V1.0
	 */
	public Boolean checkFileSize(Long len, int size, String unit) {
		double fileSize = 0;
		if ("B".equals(unit.toUpperCase())) {
			fileSize = (double) len;
		} else if ("K".equals(unit.toUpperCase())) {
			fileSize = (double) len / 1024;
		} else if ("M".equals(unit.toUpperCase())) {
			fileSize = (double) len / 1048576;
		} else if ("G".equals(unit.toUpperCase())) {
			fileSize = (double) len / 1073741824;
		}
		if (fileSize > size) {
			return false;
		}
		return true;

	}
	
	/**
	 * 
	* @Title: checkFileFormat 
	* @Description: TODO(判断文件格式) 
	* @param @param fileType 文件类型限制
	* @param @param fileName 文件名
	* @param @return    设定文件 
	* @return Boolean    返回类型 
	* @throws 
	* @author 马志豪
	* @date 2019年10月31日 下午4:32:12 
	* @version V1.0
	 */
	public Boolean checkFileFormat(String fileType,String fileName){
		if (StringUtils.isBlank(fileType)) {
			fileType = FILE_TYPE;
		}
		// 获取文件后缀名
		String extName = fileName.substring(fileName.indexOf(".") + 1).toLowerCase().trim();
		// 判断是否为允许上传的文件类型
		if (!Arrays.asList(fileType.split(",")).contains(extName)) {
			return false;
		}
		return true;
	}

}
